[TDR Generic表] [MySQL协议兼容接口] 查询数据

1. 接口说明

从指定的表格中查询已经存在的记录。

2. 准备工作

参见准备工作文档,完成mysql_table表的创建,并使用MySQL Client成功连接到TcaplusDB。

3. 查询数据时WHERE子句的语法规则

在未配置全局索引的情况下,查询语句的WHERE子句由两部分组成:(1)必备部分:indexprimarykey;(2)可选部分:过滤条件。

对于indexprimarykey中的字段,只能进行等值查询,且组成indexprimarykey的各个字段之间只能用AND运算符连接;

过滤条件支持NOT=><!=>=<=运算符,且多个过滤条件之间可以用ANDOR连接,支持对key字段、value字段、记录版本号字段记录TTL字段进行过滤。

  1. 使用primarykey查询mysql_table表中的数据时,WHERE子句形式如下:
    WHERE k1=1 AND k2=2 AND k3='one';
    
  2. 使用primarykey+过滤条件查询mysql_table表中的数据时,WHERE子句形式如下(如果过滤条件中包含OR运算符,则必须对过滤条件加括号):
    WHERE k1=1 AND k2=2 AND k3='one' AND (过滤条件);
    
  3. 使用index查询mysql_table表中的数据时,WHERE子句形式如下:
    WHERE k1=1 AND k2=2;
    
  4. 使用index+过滤条件查询mysql_table表中的数据时,WHERE子句形式如下(如果过滤条件中包含OR运算符,则必须对过滤条件加括号):
    WHERE k1=1 AND k2=2 AND (过滤条件);
    
  5. 使用use slave指定从slave查询一条或多条记录
    SELECT * FROM TABLE USE SLAVE WHERE k1=1 AND k2=2
    注意:当时用index查询数据时,可能会一次性查询多条记录。

4. 示例SQL

  1. 使用primarykey查询mysql_table表中的一条记录时,SQL语句有以下2种形式:

    SELECT * FROM mysql_table WHERE k1=1 AND k2=2 AND k3='one';
    SELECT * FROM mysql_table WHERE k1=1 AND k2=2 AND k3='one' AND (v1>=4 OR v2<=4);
    

    上面第2条SQL语句括号中的内容即为过滤条件。

  2. 使用index查询mysql_table表中的多条记录时,SQL语句有以下2种形式:

    SELECT * FROM mysql_table WHERE k1=1 AND k2=2;
    SELECT * FROM mysql_table WHERE k1=1 AND k2=2 AND (k3='one' OR v2<=4);
    

    上面第2条SQL语句括号中的内容即为过滤条件。

  3. 使用primarykey批量查询mysql_table表中的多条记录时,SQL语句的形式如下:

    SELECT * FROM mysql_table WHERE k1=1 AND k2=2 AND k3='one' OR k1=1 AND k2=2 AND k3='two' AND v2<=4;
    

    上面SQL语句中的v2<=4即为过滤条件。

  4. 使用index批量查询mysql_table表中的多条记录时,SQL语句形式如下:

    SELECT * FROM mysql_table WHERE k1=1 AND k2=2 OR k1=1 AND k2=3 AND (k3='one' OR v2<=4);
    

    上面SQL语句括号中的内容即为过滤条件。

5. 常见问题

详见错误码含义和处理方法

6. 其它参考文档

[TDR Generic表][C++ SDK]查询单条数据接口说明

[TDR Generic表][Java SDK]查询单条数据接口说明

[TDR Generic表][Go SDK]查询单条数据接口说明

[TDR Generic表][C++ SDK]查询本地索引接口说明

[TDR Generic表][Java SDK]查询本地索引接口说明

[TDR Generic表][Go SDK]查询本地索引接口说明

[TDR Generic表][C++ SDK]批量查询多条数据接口说明

[TDR Generic表][Java SDK]批量查询多条数据接口说明

[TDR Generic表][Go SDK]批量查询多条数据接口说明

results matching ""

    No results matching ""